<!doctype html><html lang dir=ltr><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>【第9周笔记】计算生态纵览 | Python | Hui.Ke - Blog</title><meta name=generator content="Hugo Eureka 0.9.3"><link rel=stylesheet href=https://b.hui.ke/css/eureka.min.9cec6350e37e534b0338fa9a085bf06855de3b0f2dcf857e792e5e97b07ea905d4d5513db554cbc26a9c3da622bae92d.css><script defer src=https://b.hui.ke/js/eureka.min.fa9a6bf6d7a50bb635b4cca7d2ba5cf3dfb095ae3798773f1328f7950028b48c17d06276594e1b5f244a25a6c969a705.js></script>
<link rel=preconnect href=https://fonts.googleapis.com><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=preload href="https://fonts.googleapis.com/css2?family=Lora:wght@400;600;700&family=Noto+Serif+SC:wght@400;600;700&display=swap" as=style onload='this.onload=null,this.rel="stylesheet"'><link rel=stylesheet href=https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/styles/vs.min.css media=print onload='this.media="all",this.onload=null' crossorigin><script defer src=https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/highlight.min.js crossorigin></script>
<script defer src=https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/languages/bash.min.js crossorigin></script>
<script defer src=https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/languages/ini.min.js crossorigin></script>
<script defer src=https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/languages/json.min.js crossorigin></script>
<script defer src=https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/languages/php.min.js crossorigin></script>
<script defer src=https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/languages/python.min.js crossorigin></script>
<script defer src=https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/languages/shell.min.js crossorigin></script>
<script defer src=https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/languages/sql.min.js crossorigin></script>
<script defer src=https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/languages/x86asm.min.js crossorigin></script>
<script defer src=https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/languages/xml.min.js crossorigin></script>
<link rel=stylesheet href=https://b.hui.ke/css/highlightjs.min.2958991528e43eb6fc9b8c4f2b8e052f79c4010718e1d1e888a777620e9ee63021c2c57ec7417a3108019bb8c41943e6.css media=print onload='this.media="all",this.onload=null'><script defer type=text/javascript src=https://lib.baomitu.com/font-awesome/6.1.1/js/all.min.js></script>
<link rel=stylesheet href=https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.css integrity=sha384-MlJdn/WNKDGXveldHDdyRP1R4CTHr3FeuDNfhsLPYrq2t0UBkUdK2jyTnXPEK1NQ media=print onload='this.media="all",this.onload=null' crossorigin><script defer src=https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.js integrity=sha384-VQ8d8WVFw0yHhCk5E8I86oOhv48xLpnDZx5T9GogA/Y84DcCKWXDmSDfn13bzFZY crossorigin></script>
<script defer src=https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/contrib/auto-render.min.js integrity=sha384-+XBljXPPiv+OzfbB3cVmLHf4hdUFHlWNZN5spNQ7rmHTXpd7WvJum6fIACpNNfIR crossorigin></script>
<script>document.addEventListener("DOMContentLoaded",function(){renderMathInElement(document.body,{delimiters:[{left:"$$",right:"$$",display:!0},{left:"$",right:"$",display:!1},{left:"\\(",right:"\\)",display:!1},{left:"\\[",right:"\\]",display:!0}]})})</script><script defer src=https://cdn.jsdelivr.net/npm/mermaid@8.14.0/dist/mermaid.min.js integrity=sha384-atOyb0FxAgN9LyAc6PEf9BjgwLISyansgdH8/VXQH8p2o5vfrRgmGIJ2Sg22L0A0 crossorigin></script>
<link rel=icon type=image/png sizes=32x32 href=https://b.hui.ke/icon_hub7ca0b5404c6d576559b2bd22c64b0e5_2009_32x32_fill_box_center_3.png><link rel=apple-touch-icon sizes=180x180 href=https://b.hui.ke/icon_hub7ca0b5404c6d576559b2bd22c64b0e5_2009_180x180_fill_box_center_3.png><meta name=description content="  课程笔记"><script type=application/ld+json>{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Docs","item":"https://b.hui.ke/docs/"},{"@type":"ListItem","position":2,"name":"Python","item":"https://b.hui.ke/docs/python/"},{"@type":"ListItem","position":3,"name":"【第9周笔记】计算生态纵览","item":"https://b.hui.ke/docs/python/9/"}]}</script><script type=application/ld+json>{"@context":"https://schema.org","@type":"Article","mainEntityOfPage":{"@type":"WebPage","@id":"https://b.hui.ke/docs/python/9/"},"headline":"【第9周笔记】计算生态纵览 | Python | Hui.Ke - Blog","datePublished":"2022-05-03T19:07:38+08:00","dateModified":"2022-05-03T19:07:38+08:00","wordCount":3009,"author":{"@type":"Person","name":"Hui.Ke"},"publisher":{"@type":"Person","name":"Hui.Ke","logo":{"@type":"ImageObject","url":"https://b.hui.ke/icon.png"}},"description":"\u003cp\u003e  课程笔记\u003c\/p\u003e"}</script><meta property="og:title" content="【第9周笔记】计算生态纵览 | Python | Hui.Ke - Blog"><meta property="og:type" content="article"><meta property="og:image" content="https://b.hui.ke/icon.png"><meta property="og:url" content="https://b.hui.ke/docs/python/9/"><meta property="og:description" content="  课程笔记"><meta property="og:site_name" content="Hui.Ke - Blog"><meta property="article:published_time" content="2022-05-03T19:07:38+08:00"><meta property="article:modified_time" content="2022-05-03T19:07:38+08:00"><meta property="article:section" content="docs"><meta property="article:tag" content="Python 库"><meta property="og:see_also" content="https://b.hui.ke/docs/python/20/"><meta property="og:see_also" content="https://b.hui.ke/docs/python/10/"><meta property="og:see_also" content="https://b.hui.ke/docs/python/19/"><meta property="og:see_also" content="https://b.hui.ke/docs/python/18/"><meta property="og:see_also" content="https://b.hui.ke/docs/python/8/"><meta property="og:see_also" content="https://b.hui.ke/docs/python/17/"><meta property="og:see_also" content="https://b.hui.ke/docs/python/7/"><meta property="og:see_also" content="https://b.hui.ke/docs/python/16/"><meta property="og:see_also" content="https://b.hui.ke/docs/python/6/"><meta property="og:see_also" content="https://b.hui.ke/docs/python/15/"><meta property="og:see_also" content="https://b.hui.ke/docs/python/5/"><meta property="og:see_also" content="https://b.hui.ke/docs/python/14/"><meta property="og:see_also" content="https://b.hui.ke/docs/python/4/"><meta property="og:see_also" content="https://b.hui.ke/docs/python/13/"><meta property="og:see_also" content="https://b.hui.ke/docs/python/3/"><meta property="og:see_also" content="https://b.hui.ke/docs/python/12/"><meta property="og:see_also" content="https://b.hui.ke/docs/python/2/"><meta property="og:see_also" content="https://b.hui.ke/docs/python/11/"><meta property="og:see_also" content="https://b.hui.ke/docs/python/1/"><script>!function(e){"use strict";!function(){var i,s=window,o=document,a=e,c="".concat("https:"===o.location.protocol?"https://":"http://","sdk.51.la/js-sdk-pro.min.js"),n=o.createElement("script"),r=o.getElementsByTagName("script")[0];n.type="text/javascript",n.setAttribute("charset","UTF-8"),n.async=!0,n.src=c,n.id="LA_COLLECT",a.d=n,i=function(){s.LA.ids.push(a)},s.LA?s.LA.ids&&i():(s.LA=e,s.LA.ids=[],i()),r.parentNode.insertBefore(n,r)}()}({id:"Jgb8aUbG5e3rqhrs",ck:"Jgb8aUbG5e3rqhrs",autoTrack:!0,hashMode:!0})</script><body class="flex min-h-screen flex-col"><header class="min-h-16 pl-scrollbar bg-secondary-bg fixed z-50 flex w-full items-center shadow-sm"><div class="mx-auto w-full max-w-screen-xl"><script>let storageColorScheme=localStorage.getItem("lightDarkMode");((storageColorScheme=="Auto"||storageColorScheme==null)&&window.matchMedia("(prefers-color-scheme: dark)").matches||storageColorScheme=="Dark")&&document.getElementsByTagName("html")[0].classList.add("dark")</script><nav class="flex items-center justify-between flex-wrap px-4 py-4 md:py-0"><a href=/ class="me-6 text-primary-text text-xl font-bold">Hui.Ke - Blog</a>
<button id=navbar-btn class="md:hidden flex items-center px-3 py-2" aria-label="Open Navbar">
<i class="fas fa-bars"></i></button><div id=target class="hidden block md:flex md:grow md:justify-between md:items-center w-full md:w-auto text-primary-text z-20"><div class="md:flex md:h-16 text-sm md:grow pb-4 md:pb-0 border-b md:border-b-0"><a href=/posts/ class="block mt-4 md:inline-block md:mt-0 md:h-(16-4px) md:leading-(16-4px) box-border md:border-t-2 md:border-b-2 border-transparent me-4">Posts</a>
<a href=/docs/ class="block mt-4 md:inline-block md:mt-0 md:h-(16-4px) md:leading-(16-4px) box-border md:border-t-2 md:border-b-2 selected-menu-item me-4">Docs</a>
<a href=/categories/ class="block mt-4 md:inline-block md:mt-0 md:h-(16-4px) md:leading-(16-4px) box-border md:border-t-2 md:border-b-2 border-transparent me-4">Categories</a>
<a href=/series/ class="block mt-4 md:inline-block md:mt-0 md:h-(16-4px) md:leading-(16-4px) box-border md:border-t-2 md:border-b-2 border-transparent me-4">Series</a>
<a href=/tags/ class="block mt-4 md:inline-block md:mt-0 md:h-(16-4px) md:leading-(16-4px) box-border md:border-t-2 md:border-b-2 border-transparent me-4">Tags</a>
<a href=/love/ class="block mt-4 md:inline-block md:mt-0 md:h-(16-4px) md:leading-(16-4px) box-border md:border-t-2 md:border-b-2 border-transparent me-4">Love</a>
<a href=/about/ class="block mt-4 md:inline-block md:mt-0 md:h-(16-4px) md:leading-(16-4px) box-border md:border-t-2 md:border-b-2 border-transparent me-4">About</a></div><div class=flex><div class="relative pt-4 md:pt-0"><div class="cursor-pointer hover:text-eureka" id=lightDarkMode><i class="fas fa-adjust"></i></div><div class="fixed hidden inset-0 opacity-0 h-full w-full cursor-default z-30" id=is-open></div><div class="absolute flex flex-col start-0 md:start-auto end-auto md:end-0 hidden bg-secondary-bg w-48 rounded py-2 border border-tertiary-bg cursor-pointer z-40" id=lightDarkOptions><span class="px-4 py-1 hover:text-eureka" name=Light>Light</span>
<span class="px-4 py-1 hover:text-eureka" name=Dark>Dark</span>
<span class="px-4 py-1 hover:text-eureka" name=Auto>Auto</span></div></div></div></div><div class="fixed hidden inset-0 opacity-0 h-full w-full cursor-default z-0" id=is-open-mobile></div></nav><script>let element=document.getElementById("lightDarkMode");storageColorScheme==null||storageColorScheme=="Auto"?document.addEventListener("DOMContentLoaded",()=>{window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",switchDarkMode)}):storageColorScheme=="Light"?(element.firstElementChild.classList.remove("fa-adjust"),element.firstElementChild.setAttribute("data-icon","sun"),element.firstElementChild.classList.add("fa-sun")):storageColorScheme=="Dark"&&(element.firstElementChild.classList.remove("fa-adjust"),element.firstElementChild.setAttribute("data-icon","moon"),element.firstElementChild.classList.add("fa-moon")),document.addEventListener("DOMContentLoaded",()=>{getcolorscheme(),switchBurger()})</script></div></header><main class="grow pt-16"><div class=pl-scrollbar><div class="mx-auto w-full max-w-screen-xl lg:px-4 xl:px-8"><div class=lg:pt-12><div class="flex flex-col md:flex-row bg-secondary-bg rounded"><div class="md:w-1/4 lg:w-1/5 border-e"><div class="sticky top-16 pt-6"><div id=sidebar-title class="md:hidden mx-4 px-2 pt-4 pb-2 md:border-b text-tertiary-text md:text-primary-text"><span class=font-semibold>Table of Contents</span>
<i class='fas fa-caret-right ms-1'></i></div><div id=sidebar-toc class="hidden md:block overflow-y-auto mx-6 md:mx-0 pe-6 pt-2 md:max-h-doc-sidebar bg-primary-bg md:bg-transparent"><div class="flex flex-wrap ms-4 -me-2 p-2 bg-secondary-bg md:bg-primary-bg rounded"><a class=hover:text-eureka href=https://b.hui.ke/docs/python/>Python</a></div><ul class=ps-6><li class=py-2><div><a class=hover:text-eureka href=https://b.hui.ke/docs/python/20/>期末测验</a></div></li><li class=py-2><div><a class=hover:text-eureka href=https://b.hui.ke/docs/python/10/>【第9+周笔记】全课程总结与学习展望</a></div></li><li class=py-2><div><a class=hover:text-eureka href=https://b.hui.ke/docs/python/19/>【第9周程序】计算生态纵览</a></div></li><li class=py-2><div><a class="text-eureka hover:text-eureka" href=https://b.hui.ke/docs/python/9/>【第9周笔记】计算生态纵览</a></div></li><li class=py-2><div><a class=hover:text-eureka href=https://b.hui.ke/docs/python/18/>【第8周程序】程序设计方法学</a></div></li><li class=py-2><div><a class=hover:text-eureka href=https://b.hui.ke/docs/python/8/>【第8周笔记】程序设计方法学</a></div></li><li class=py-2><div><a class=hover:text-eureka href=https://b.hui.ke/docs/python/17/>【第7周程序】文件和数据格式化</a></div></li><li class=py-2><div><a class=hover:text-eureka href=https://b.hui.ke/docs/python/7/>【第7周笔记】文件和数据格式化</a></div></li><li class=py-2><div><a class=hover:text-eureka href=https://b.hui.ke/docs/python/16/>【第6周程序】组合数据类型</a></div></li><li class=py-2><div><a class=hover:text-eureka href=https://b.hui.ke/docs/python/6/>【第6周笔记】组合数据类型</a></div></li><li class=py-2><div><a class=hover:text-eureka href=https://b.hui.ke/docs/python/15/>【第5周程序】函数和代码复用</a></div></li><li class=py-2><div><a class=hover:text-eureka href=https://b.hui.ke/docs/python/5/>【第5周笔记】函数和代码复用</a></div></li><li class=py-2><div><a class=hover:text-eureka href=https://b.hui.ke/docs/python/14/>【第4周程序】程序的控制结构</a></div></li><li class=py-2><div><a class=hover:text-eureka href=https://b.hui.ke/docs/python/4/>【第4周笔记】程序的控制结构</a></div></li><li class=py-2><div><a class=hover:text-eureka href=https://b.hui.ke/docs/python/13/>【第3周程序】基本数据类型</a></div></li><li class=py-2><div><a class=hover:text-eureka href=https://b.hui.ke/docs/python/3/>【第3周笔记】基本数据类型</a></div></li><li class=py-2><div><a class=hover:text-eureka href=https://b.hui.ke/docs/python/12/>【第2周程序】Python 基本图形绘制</a></div></li><li class=py-2><div><a class=hover:text-eureka href=https://b.hui.ke/docs/python/2/>【第2周笔记】Python 基本图形绘制</a></div></li><li class=py-2><div><a class=hover:text-eureka href=https://b.hui.ke/docs/python/11/>【第1周程序】Python 基本语法元素</a></div></li><li class=py-2><div><a class=hover:text-eureka href=https://b.hui.ke/docs/python/1/>【第1周笔记】Python 基本语法元素</a></div></li></ul></div></div></div><div class="w-full md:w-3/4 lg:w-4/5 pb-8 pt-2 md:pt-8"><div class=flex><div class="w-full lg:w-3/4 px-6"><article class=prose><h1 class=mb-4>【第9周笔记】计算生态纵览</h1><div class="text-tertiary-text not-prose mt-2 flex flex-row flex-wrap items-center"><div class="me-6 my-2"><i class="fas fa-calendar me-1"></i>
<span>2022-05-03</span></div><div class="me-6 my-2"><i class="fa-solid fa-pen-to-square me-1"></i>
<span>2022-05-03</span></div><div class="me-6 my-2"><i class="fas fa-clock me-1"></i>
<span>7 min read</span></div><div class="me-6 my-2"><i class="fas fa-folder me-1"></i>
<a href=https://b.hui.ke/categories/it/ class=hover:text-eureka>IT</a></div><div class="me-6 my-2"><i class="fas fa-th-list me-1"></i>
<a href=https://b.hui.ke/series/python/ class=hover:text-eureka>Python</a></div><div class="me-6 my-2"><i class="fa-solid fa-eye me-1"></i>
<span id=busuanzi_value_page_pv><i class="fa fa-spinner fa-spin"></i></span> Hits</div></div><p>  课程笔记</p><h2 id=从数据处理到人工智能>从数据处理到人工智能</h2><p>  数据表示 → 数据清洗 → 数据统计 → 数据可视化 → 数据挖掘 → 人工智能</p><ol><li>数据表示：采用合适方式用程序表达数据</li><li>数据清理：数据归一化、数据转换、异常值处理</li><li>数据统计：数据的概要理解，数量、分布、中位数等</li><li>数据可视化：直观展示数据内涵的方式</li><li>数据挖掘：从数据分析获得知识，产生数据外的价值</li><li>人工智能：数据/语言/图像/视觉等方面深度分析与决策</li></ol><h2 id=python-库之数据分析>Python 库之数据分析</h2><ol><li>Numpy：表达 N 维数组的最基础库<ul><li>Python 接口使用，C 语言实现，计算速度优异</li><li>Python 数据分析及科学计算的基础库，支撑 Pandas 等</li><li>提供直接的矩阵运算、广播函数、线性代数等功能</li></ul></li><li>Pandas：Python 数据分析高层次应用库<ul><li>Series = 索引 + 一维数据</li><li>DataFrame = 行列索引 + 二维数据</li></ul></li><li>SciPy：数学、科学和工程计算功能库<ul><li>提供了一批数学算法及工程数据运算功能</li><li>类似 Matlab，可用于如傅里叶变换、信号处理等应用</li><li>Python 最主要的科学计算功能库，基于 Numpy 开发</li><li>稀疏图压缩类、稀疏运算类、优化算法类、傅里叶变换类、信号处理类、线性代数类、图像处理类</li></ul></li></ol><h2 id=python-库之数据可视化>Python 库之数据可视化</h2><ol><li>Matplotlib：高质量的二维数据可视化功能库<ul><li>提供了超过 100 种数据可视化展示效果</li><li>通过 matplotlib.pyplot 子库调用各可视化效果</li><li>Python 最主要的数据可视化功能库，基于 Numpy 开发</li></ul></li><li>Seaborn：统计类数据可视化功能库<ul><li>提供了一批高层次的统计类数据可视化展示效果</li><li>主要展示数据间分布、分类和线性关系等内容</li><li>基于 Matplotlib 开发，支持 Numpy和Pandas</li></ul></li><li>Mayavi：三维科学数据可视化功能库
-提供了一批简单易用的 3D 科学计算数据可视化展示效果<ul><li>目前版本是 Mayavi2，三维可视化最主要的第三方库</li><li>支持 Numpy、TVTK、Traits、Envisage 等第三方库</li></ul></li></ol><h2 id=python-库之文本处理>Python 库之文本处理</h2><ol><li>PyPDF2：用来处理 pdf 文件的工具集<ul><li>提供了一批处理 PDF 文件的计算功能</li><li>支持获取信息、分隔/整合文件、加密解密等</li><li>完全 Python 语言实现，不需要额外依赖，功能稳定</li></ul><pre><code class=language-python>from PyPDF2 import PdfFileReader, PdfFileMerger
merger = PdfFileMerger()
input1 = open(&quot;document1.pdf&quot;, &quot;rb&quot;)
input2 = open(&quot;document2.pdf&quot;, &quot;rb&quot;)
merger.append(fileobj = input1, pages = (0,3))
merger.merge(position = 2, fileobj = input2, pages = (0,1))
output = open(&quot;document-output.pdf&quot;, &quot;wb&quot;)
merger.write(output)
</code></pre></li><li>NLTK：自然语言文本处理第三方库<ul><li>提供了一批简单易用的自然语言文本处理功能</li><li>支持语言文本分类、标记、语法句法、语义分析等</li><li>最优秀的 Python 自然语言处理库</li></ul><pre><code class=language-python>from nltk.corpus import treebank
t = treebank.parsed_sents('wsj_0001.mrg')[0]
t.draw()
</code></pre></li><li>Python-docx：创建或更新 Microsoft Word 文件的第三方库<ul><li>提供创建或更新 .doc .docx 等文件的计算功能</li><li>增加并配置段落、图片、表格、文字等，功能全面</li></ul><pre><code class=language-python>from docx import Document
document = Document()
document.add_heading('Document Title', 0)
p = document.add_paragraph('A plain paragraph having some ')
document.add_page_break()
document.save('demo.docx')
</code></pre></li></ol><h2 id=python-库之机器学习>Python 库之机器学习</h2><ol><li>Scikit-learn：机器学习方法工具集<ul><li>提供一批统一化的机器学习方法功能接口</li><li>提供聚类、分类、回归、强化学习等计算功能</li><li>机器学习最基本且最优秀的 Python 第三方库</li></ul></li><li>TensorFlow：AlphaGo 背后的机器学习计算框架<ul><li>谷歌公司推动的开源机器学习框架</li><li>将数据流图作为基础，图节点代表运算，边代表张量</li><li>应用机器学习方法的一种方式，支撑谷歌人工智能应用</li></ul><pre><code class=language-python>import tensorflow as tf
init = tf.global_variables_initializer()
sess = tf.Session()
sess.run(init)
res = sess.run(result)
print('result:', res)
</code></pre></li><li>MXNet：基于神经网络的深度学习计算框架<ul><li>提供可扩展的神经网络及深度学习计算功能</li><li>可用于自动驾驶、机器翻译、语音识别等众多领域</li><li>Python 最重要的深度学习计算框架</li></ul></li></ol><h2 id=python-库之网络爬虫>Python 库之网络爬虫</h2><ol><li>Requests：最友好的网络爬虫功能库<ul><li>提供了简单易用的类 HTTP 协议网络爬虫功能</li><li>支持连接池、SSL、Cookies、HTTP(S) 代理等</li><li>Python 最主要的页面级网络爬虫功能库</li></ul><pre><code class=language-python>import requests
r = requests.get('https://api.github.com/user',auth=('user', 'pass'))
r.status_code
r.headers['content-type']
r.encoding
r.text
</code></pre></li><li>Scrapy：优秀的网络爬虫框架<ul><li>提供了构建网络爬虫系统的框架功能，功能半成品</li><li>支持批量和定时网页爬取、提供数据处理流程等</li><li>Python 最主要且最专业的网络爬虫框架</li></ul></li><li>pyspider：强大的 Web 页面爬取系统<ul><li>提供了完整的网页爬取系统构建功能</li><li>支持数据库后端、消息队列、优先级、分布式架构等</li><li>Python 重要的网络爬虫类第三方库</li></ul></li></ol><h2 id=python-库之-web-信息提取>Python 库之 Web 信息提取</h2><ol><li>Beautiful Soup: HTML 和 XML 的解析库<ul><li>提供了解析 HTML 和 XML 等 Web 信息的功能</li><li>又名 beautifulsoup4 或 bs4，可以加载多种解析引擎</li><li>常与网络爬虫库搭配使用，如 Scrapy、requests 等</li></ul></li><li>Re：正则表达式解析和处理功能库<ul><li>提供了定义和解析正则表达式的一批通用功能</li><li>可用于各类场景，包括定点的 Web 信息提取</li><li>Python 最主要的标准库之一，无需安装</li></ul></li><li>Python-Goose：提取文章类型 Web 页面的功能库<ul><li>提供了对 Web 页面中文章信息/视频等元数据的提取功能</li><li>针对特定类型 Web 页面，应用覆盖面较广</li><li>Python 最主要的 Web 信息提取库</li></ul><pre><code class=language-python>from goose import Goose
url = 'http://www.elmundo.es/elmundo/2012/10/28/espana/1351388909.html'
g = Goose({'use_meta_language': False, 'target_language':'es'})
article = g.extract(url=url)
article.cleaned_text[:150]
</code></pre></li></ol><h2 id=python-库之-web-网站开发>Python 库之 Web 网站开发</h2><ol><li>Django：最流行的 Web 应用框架<ul><li>提供了构建 Web 系统的基本应用框架</li><li>MTV 模式：模型（model）、模板（Template）、视图（Views）</li><li>Python 最重要的 Web 应用框架，略微复杂的应用框架</li></ul></li><li>Pyramid：规模适中的 Web 应用框架<ul><li>提供了简单方便构建 Web 系统的应用框架</li><li>不大不小，规模适中，适合快速构建并适度扩展类应用</li><li>Python 产品级 Web 应用框架，起步简单可扩展性好</li></ul><pre><code class=language-python>from wsgiref.simple_server import make_server
from pyramid.config import Configurator
from pyramid.response import Response
def hello_world(request):
    return Response('Hello World!')
if __name__ == '__main__':
    with Configurator() as config:
        config.add_route('hello', '/')
        config.add_view(hello_world, route_name='hello')
        app = config.make_wsgi_app()
    server = make_server('0.0.0.0', 6543, app)
    server.serve_forever()
</code></pre></li><li>Flask：Web 应用开发微框架<ul><li>提供了最简单构建 Web 系统的应用框架</li><li>特点是：简单、规模小、快速</li><li>Django > Pyramid > Flask</li></ul><pre><code class=language-python>from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
    return 'Hello, World!'
</code></pre></li></ol><h2 id=python-库之网络应用开发>Python 库之网络应用开发</h2><ol><li>WeRoBot：微信公众号开发框架<ul><li>提供了解析微信服务器消息及反馈消息的功能</li><li>建立微信机器人的重要技术手段</li></ul><pre><code class=language-python>import werobot
robot = werobot.WeRoBot(token='tokenhere')
@robot.handler
def hello(message):
    return 'Hello World!'     # 对微信每个消息反馈一个 Hello World
</code></pre></li><li>aip：百度 AI 开放平台接口<ul><li>提供了访问百度 AI 服务的 Python 功能接口</li><li>语音、人脸、OCR、NLP、知识图谱、图像搜索等领域</li><li>Python 百度 AI 应用的最主要方式</li></ul></li><li>MyQR：二维码生成第三方库<ul><li>提供了生成二维码的系列功能</li><li>基本二维码、艺术二维码和动态二维码</li></ul></li></ol><h2 id=python-库之图形用户界面>Python 库之图形用户界面</h2><ol><li>PyQt5：Qt 开发框架的 Python 接口<ul><li>提供了创建 Qt5 程序的 Python API 接口</li><li>Qt 是非常成熟的跨平台桌面应用开发系统，完备 GUI</li><li>推荐的 Python GUI 开发第三方库</li></ul></li><li>wxPython：跨平台 GUI 开发框架<ul><li>提供了专用于 Python 的跨平台 GUI 开发框架</li><li>理解数据类型与索引的关系，操作索引即操作数据</li><li>Python 最主要的数据分析功能库，基于 Numpy 开发</li></ul><pre><code class=language-python>import wx
app = wx.App(False)
frame = wx.Frame(None, wx.ID_ANY, &quot;Hello World&quot;)
frame.Show(True)
app.MainLoop()
</code></pre></li><li>PyGObject：使用 GTK+ 开发 GUI 的功能库<ul><li>提供了整合 GTK+、WebKitGTK+ 等库的功能</li><li>GTK+：跨平台的一种用户图形界面 GUI 框架</li><li>实例：Anaconda 采用该库构建 GUI</li></ul><pre><code class=language-python>import gi
gi.require_version(&quot;Gtk&quot;, &quot;3.0&quot;)
from gi.repository import Gtk
window = Gtk.Window(title=&quot;Hello World&quot;)
window.show()
window.connect(&quot;destroy&quot;, Gtk.main_quit)
Gtk.main()
</code></pre></li></ol><h2 id=python-库之游戏开发>Python 库之游戏开发</h2><ol><li>PyGame：简单的游戏开发功能库<ul><li>提供了基于 SDL 的简单游戏开发功能及实现引擎</li><li>理解游戏对外部输入的响应机制及角色构建和交互机制</li><li>Python 游戏入门最主要的第三方库</li></ul></li><li>Panda3D：开源、跨平台的 3D 渲染和游戏开发库<ul><li>一个 3D 游戏引擎，提供 Python 和 C++ 两种接口</li><li>支持很多先进特性：法线贴图、光泽贴图、卡通渲染等</li><li>由迪士尼和卡尼基梅隆大学共同开发</li></ul></li><li>cocos2d：构建 2D 游戏和图形界面交互式应用的框架<ul><li>提供了基于 OpenGL 的游戏开发图形渲染功能</li><li>支持 GPU 加速，采用树形结构分层管理游戏对象类型</li><li>适用于 2D 专业级游戏开发</li></ul></li></ol><h2 id=python-库之虚拟现实>Python 库之虚拟现实</h2><ol><li>VR Zero：在树莓派上开发 VR 应用的 Python 库<ul><li>提供大量与 VR 开发相关的功能</li><li>针对树莓派的 VR 开发库，支持设备小型化，配置简单化</li><li>非常适合初学者实践 VR 开发及应用</li></ul></li><li>pyovr：Oculus Rift 的 Python 开发接口<ul><li>针对 Oculus VR 设备的 Python 开发库</li><li>基于成熟的 VR 设备，提供全套文档，工业级应用设备</li><li>Python+ 虚拟现实领域探索的一种思路</li></ul></li><li>Vizard：基于 Python 的通用 VR 开发引擎<ul><li>专业的企业级虚拟现实开发引擎</li><li>提供详细的官方文档</li><li>支持多种主流的VR硬件设备，具有一定通用性</li></ul></li></ol><h2 id=python-库之图形艺术>Python 库之图形艺术</h2><ol><li>Quads：迭代的艺术<ul><li>对图片进行四分迭代，形成像素风</li><li>可以生成动图或静图图像</li><li>简单易用，具有很高展示度</li></ul></li><li>ascii_art：ASCII 艺术库<ul><li>将普通图片转为 ASCII 艺术风格</li><li>输出可以是纯文本或彩色文本</li><li>可采用图片格式输出</li></ul></li><li>turtle：海龟绘图体系</li></ol></article><div class=my-4><a href=https://b.hui.ke/tags/python-%E5%BA%93/ class="inline-block bg-tertiary-bg text-sm rounded px-3 py-1 my-1 me-2 hover:text-eureka">#Python 库</a></div><div class=py-2><div class="my-8 flex flex-col items-center md:flex-row"><a href=https://b.hui.ke/authors/hui.ke/ class="md:me-4 text-primary-text h-24 w-24"><img src=https://b.hui.ke/bagua.webp class="bg-primary-bg w-full rounded-full" alt=Avatar></a><div class="mt-4 w-full md:mt-0 md:w-auto"><a href=https://b.hui.ke/authors/hui.ke/ class="mb-2 block border-b pb-1 text-lg font-bold"><h3>Hui.Ke</h3></a><span class="block pb-2">❤ Cyber Security | Safety is a priority.</span>
<a href=mailto:3199731997@qq.com class=me-2><i class="fas fa-envelope"></i></a>
<a href="https://wpa.qq.com/msgrd?v=3&uin=3199731997" class=me-2><i class="fab fa-qq"></i></a>
<a href=/images/aixinxianquan.webp class=me-2><i class="fab fa-weixin"></i></a></div></div></div><div class="-mx-2 mt-4 flex flex-col border-t px-2 pt-4 md:flex-row md:justify-between"><div><span class="text-primary-text block font-bold">Previous</span>
<a href=https://b.hui.ke/docs/python/19/ class=block>【第9周程序】计算生态纵览</a></div><div class="mt-4 md:mt-0 md:text-right"><span class="text-primary-text block font-bold">Next</span>
<a href=https://b.hui.ke/docs/python/18/ class=block>【第8周程序】程序设计方法学</a></div></div><div id=valine-comments class=mt-4></div><script defer src=https://cdn.jsdelivr.net/npm/valine@1.4.16/dist/Valine.min.js integrity=sha384-e0+DNUCJo75aOAzHQbFWYBCM9/S4f0BhRJXvEgbE3mMS85RM20MSSGStHuNdY2QK crossorigin></script>
<script>document.addEventListener("DOMContentLoaded",function(){new Valine({el:"#valine-comments",appId:"BQnVqWIiq78AdqwyhvBVAa3y-MdYXbMMI",appKey:"RKg5By312YjM8rU6WkkfK9IN",recordIP:"true",serverURLs:"https://l.hui.ke",visitor:"true"})})</script></div><div class="hidden lg:block lg:w-1/4"><div class="bg-secondary-bg
prose sticky top-16 z-10 hidden px-6 py-4 lg:block"><h3>On This Page</h3></div><div class="sticky-toc
border-s
hidden px-6 pb-6 lg:block"><nav id=TableOfContents><ul><li><a href=#从数据处理到人工智能>从数据处理到人工智能</a></li><li><a href=#python-库之数据分析>Python 库之数据分析</a></li><li><a href=#python-库之数据可视化>Python 库之数据可视化</a></li><li><a href=#python-库之文本处理>Python 库之文本处理</a></li><li><a href=#python-库之机器学习>Python 库之机器学习</a></li><li><a href=#python-库之网络爬虫>Python 库之网络爬虫</a></li><li><a href=#python-库之-web-信息提取>Python 库之 Web 信息提取</a></li><li><a href=#python-库之-web-网站开发>Python 库之 Web 网站开发</a></li><li><a href=#python-库之网络应用开发>Python 库之网络应用开发</a></li><li><a href=#python-库之图形用户界面>Python 库之图形用户界面</a></li><li><a href=#python-库之游戏开发>Python 库之游戏开发</a></li><li><a href=#python-库之虚拟现实>Python 库之虚拟现实</a></li><li><a href=#python-库之图形艺术>Python 库之图形艺术</a></li></ul></nav></div><script>window.addEventListener("DOMContentLoaded",()=>{enableStickyToc()})</script></div></div></div></div></div><script>document.addEventListener("DOMContentLoaded",()=>{hljs.highlightAll(),changeSidebarHeight(),switchDocToc()})</script></div></div></main><footer class=pl-scrollbar><div class="mx-auto w-full max-w-screen-xl"><div class="text-center p-6 pin-b"><script async src=/js/click.js></script><div id=poem_ip></div><script type=text/javascript>jinrishici.load(function(e){tags.innerHTML=e.data.matchTags})</script><div><span id=timeDate>载入年天数...</span><span id=times>载入时分秒...</span>
<script async src=/js/duration.js></script></div><a href=https://www.foreverblog.cn/go.html target=_blank><img src=https://img.foreverblog.cn/wormhole_4_tp.gif alt style=display:inline-block;width:auto;height:32px title=穿梭虫洞-随机访问十年之约友链博客></a><p class="text-sm text-tertiary-text"><script async src=//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js></script>本站总访问量 <span id=busuanzi_value_site_pv></span> 次
&#183; 您是本站的第 <span id=busuanzi_value_site_uv></span> 个小伙伴</p><script async src=/js/tab.js></script></div></div></footer></body></html>